package com.cdatos.golGana.model;

import java.io.Serializable;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

import com.cdatos.golGana.model.base.PersistentEntity;

@Entity
@Table(name="CAMPEONATO", uniqueConstraints=@UniqueConstraint(columnNames={"nombre","anio"}))
public class Campeonato extends PersistentEntity implements Serializable{

	/**
	 */
	private static final long serialVersionUID = -2123697986516427416L;
	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Long id;
	
	@Column(name="NOMBRE",length=10)
	private String nombre;
	
	@Column(name="ANIO",scale=4)
	private Long anio;
	
	@OneToMany(mappedBy = "campeonato", cascade = { CascadeType.MERGE,CascadeType.REFRESH })
	private List<Grupo> grupos;
	
	@OneToMany(mappedBy = "campeonato", cascade = { CascadeType.MERGE,CascadeType.REFRESH })
	private List<Fecha> fechas;

	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public Long getAnio() {
		return anio;
	}
	public void setAnio(Long anio) {
		this.anio = anio;
	}
	public List<Grupo> getGrupos() {
		return grupos;
	}
	public void setGrupos(List<Grupo> grupos) {
		this.grupos = grupos;
	}
	public void setFechas(List<Fecha> fechas) {
		this.fechas = fechas;
	}
	public List<Fecha> getFechas() {
		return fechas;
	}
	
	public Campeonato() {
	}

}
